package behavioral.interpreter;

/**
 * 具体动作类，他是一个终结符表达式，他的解释方法中便是执行具体的任务
 * 同样，他也是继承于抽象解释器
 */
public class ActionNode extends AbstractNode {

    private String m_strToken;

    public ActionNode(String strToken) {
        this.m_strToken = strToken;
    }

    @Override
    void interpreter(Context context) {
        if ("UP".equalsIgnoreCase(this.m_strToken)) {
            System.out.print(" 向前 ");
        } else if ("DOWN".equalsIgnoreCase(this.m_strToken)) {
            System.out.print(" 向后 ");
        } else if ("LEFT".equalsIgnoreCase(this.m_strToken)) {
            System.out.print(" 向左 ");
        } else if ("RIGHT".equalsIgnoreCase(this.m_strToken)) {
            System.out.print(" 向右 ");
        } else {
            System.out.print(" 上天 ");
        }
    }
}
